c3c9ff9d3e047c8b6d83b73912505f1027fd39bf,tests/integration/src/test/java/org/mule/context/notification/MessageProcessorNotificationTestCase.java,MessageProcessorNotificationTestCase,getSpecification,#,74

Before Change


                .serial(pre())
                .serial(prePost())
                .serial(prePost())
                .serial(post())
                .serial(prePost())    //MP after the Scope

                //foreach
                .serial(pre()) //foreach
                .serial(prePost())    //logger-loop-1
                .serial(prePost())    //logger-loop-2
                .serial(post())
                .serial(prePost())    //MP after the Scope

                //enricher
                .serial(pre()) //append-string
                .serial(prePost())
                .serial(post())
                .serial(pre()) //chain
                .serial(prePost())
                .serial(prePost())
                .serial(post())

                ////async             //This is unstable
                //.serial(prePost())
                //.serial(prePost())
                //.serial(prePost())

                //filter
                .serial(pre())
                .serial(prePost())
                .serial(post())

                //idempotent-message-filter
                .serial(pre())          //open message filter
                .serial(prePost())      //message processor
                .serial(post())         //close mf

                //idempotent-secure-hash-message-filter
                .serial(pre())          //open message filter
                .serial(prePost())      //message processor
                .serial(post())         //close mf

                //subflow
                .serial(prePost())
                .serial(pre())
                .serial(pre())
                .serial(prePost())
                .serial(post())
                .serial(post())

                //catch-es
                .serial(prePost())
                .serial(prePost())

                //rollback-es
                .serial(prePost())
                .serial(prePost())

                //choice-es
                .serial(prePost())
                .serial(prePost())

                //request-reply
                .serial(pre())
                .serial(prePost())
                .serial(post())
                .serial(prePost())

                //composite-source
                .serial(prePost()) //call throw cs1
                .serial(prePost())
                .serial(prePost())
                .serial(prePost()) //call throw cs4

                //first-successful
                .serial(prePost())
                .serial(prePost())

                //round-robin
                .serial(prePost())
                .serial(prePost())

                //recipient-list
                .serial(prePost())  //send message to the requested endpoint
                .serial(prePost())  //log message

                //collection-aggregator
                .serial(pre())      //open Splitter, unpacks three messages
                .serial(prePost())  //1st message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //2nd message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //3rd message on Logger
                .serial(prePost())  //gets to Aggregator and packs the three messages, then close
                .serial(post())     //close Splitter

                //custom-aggregator
                .serial(pre())      //open Splitter, unpacks three messages
                .serial(prePost())  //1st message, open Aggregator
                .serial(prePost())  //2nd message
                .serial(pre())      //3rd message, packs the three messages
                .serial(prePost())  //Logger process packed message
                .serial(post())     //close Aggregator
                .serial(post())     //close Splitter

                //chunk-aggregator
                .serial(pre())      //start Splitter
                .serial(prePost())  //1st message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //2nd message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //3rd message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //4th message on Logger
                .serial(pre())      //gets to Aggregator and packs four messages
                .serial(prePost())  //packed message get to the second Logger
                .serial(post())     //close Aggregator
                .serial(post())     //close Splitter

                //wire-tap
                .serial(prePost())
                .serial(prePost())

                ;
    }

After Change


                .serial(pre())
                .serial(prePost())
                .serial(prePost())
                .serial(post())
                .serial(prePost())    //MP after the Scope

                //foreach
                .serial(pre()) //foreach
                .serial(prePost())    //logger-loop-1
                .serial(prePost())    //logger-loop-2
                .serial(post())
                .serial(prePost())    //MP after the Scope

                //enricher
                .serial(pre()) //append-string
                .serial(prePost())
                .serial(post())
                .serial(pre()) //chain
                .serial(prePost())
                .serial(prePost())
                .serial(post())

                ////async             //This is unstable
                //.serial(prePost())
                //.serial(prePost())
                //.serial(prePost())

                //filter
                .serial(pre())
                .serial(prePost())
                .serial(post())

                //idempotent-message-filter
                .serial(pre())          //open message filter
                .serial(prePost())      //message processor
                .serial(post())         //close mf

                //idempotent-secure-hash-message-filter
                .serial(pre())          //open message filter
                .serial(prePost())      //message processor
                .serial(post())         //close mf

                //subflow
                .serial(prePost())
                .serial(pre())
                .serial(pre())
                .serial(prePost())
                .serial(post())
                .serial(post())

                //catch-es
                .serial(prePost())
                .serial(prePost())

                //rollback-es
                .serial(prePost())
                .serial(prePost())

                //choice-es
                .serial(prePost())
                .serial(prePost())

                //request-reply
                .serial(pre())
                .serial(prePost())
                .serial(post())
                .serial(prePost())

                //composite-source
                .serial(prePost()) //call throw cs1
                .serial(prePost())
                .serial(prePost())
                .serial(prePost()) //call throw cs4

                //first-successful
                .serial(prePost())
                .serial(prePost())

                //round-robin
                .serial(prePost())
                .serial(prePost())

                //recipient-list
                .serial(prePost())  //send message to the requested endpoint
                .serial(prePost())  //log message

                //collection-aggregator
                .serial(pre())      //open Splitter, unpacks three messages
                .serial(prePost())  //1st message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //2nd message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //3rd message on Logger
                .serial(prePost())  //gets to Aggregator and packs the three messages, then close
                .serial(post())     //close Splitter

                //custom-aggregator
                .serial(pre())      //open Splitter, unpacks three messages
                .serial(prePost())  //1st message, open Aggregator
                .serial(prePost())  //2nd message
                .serial(pre())      //3rd message, packs the three messages
                .serial(prePost())  //Logger process packed message
                .serial(post())     //close Aggregator
                .serial(post())     //close Splitter

                //chunk-aggregator
                .serial(pre())      //start Splitter
                .serial(prePost())  //1st message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //2nd message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //3rd message on Logger
                .serial(prePost())  //gets to Aggregator
                .serial(prePost())  //4th message on Logger
                .serial(pre())      //gets to Aggregator and packs four messages
                .serial(prePost())  //packed message get to the second Logger
                .serial(post())     //close Aggregator
                .serial(post())     //close Splitter

                //wire-tap
                .serial(prePost())
                .serial(prePost())

                ;
    }
    private RestrictedNode pre()